//
//  Extentsion+UIImage.swift
//  STVVeibo
//
//  Created by leergou on 16/7/28.
//  Copyright © 2016年 WhiteHouse. All rights reserved.
//

import UIKit

extension UIImage{
    
    // 获取屏幕截图
    static func getScreenShot() -> UIImage{
        
        // 得到windows
        let window = UIApplication.sharedApplication().keyWindow!
        // 开启图片上下文
        //        UIGraphicsBeginImageContextWithOptions(window.bounds.size, false, 0)
        UIGraphicsBeginImageContext(window.bounds.size)
        // 将窗口渲染到图片上下问
        window.drawViewHierarchyInRect(window.bounds, afterScreenUpdates: false)
        // 从图片上下文获取图片
        let image = UIGraphicsGetImageFromCurrentImageContext()
        
        //        let data = UIImagePNGRepresentation(image)
        //        data?.writeToFile("/Users/lichunheng/Desktop/123.png", atomically: false)
        // 关闭图片上下问
        UIGraphicsEndImageContext()
        return image
    }
    
    // 这个要再敲一遍
    // 压缩图片
    /*
    指定宽度来压缩
    宽 1200    指定宽度  600
    高 600              x
    */
    func getImageScale(width: CGFloat) -> UIImage{
        
        // 如果当前图片的宽度 小于程序员指定的宽度
        if self.size.width < width {
            return self
        }
        // 获取图片的最终高度
        let height = (width*self.size.height)/self.size.width
        // 设置rect
        let rect = CGRect(x: 0, y: 0, width: width, height: height)
        // 通过上下文
        // 01 开启上下文
        UIGraphicsBeginImageContext(rect.size)
        // 02 将图片渲染到上下文中
        self.drawInRect(rect)
        // 03 从上下文获取image
        let result = UIGraphicsGetImageFromCurrentImageContext()
        // 04 关闭上下文
        UIGraphicsEndImageContext()
        return result
    }
    
    // 从 bundle 中加载一张图片
    class func getEmoticonImage(path: String?) -> UIImage?{
        return UIImage(named: path ?? "", inBundle: STEmoticonTools.emoticonSharedTools.emoticonBundle, compatibleWithTraitCollection: nil)
        
    }
    
    
    
}
